/**
 * @Version 1.0.1
 * @Author DemoHui
 * @Date 2022/09/30
 */

"use strict";

function resolve(dir) {
  return path.join(__dirname, dir);
}

// 引入等比适配插件
const px2rem = require("postcss-px2rem");
const path = require("path");
// 配置基本大小
const postcssRem = px2rem({
  // 基准大小 baseSize，需要和changeRem.js中相同
  remUnit: 16,
});

module.exports = {
  css: {
    loaderOptions: {
      postcss: {
        plugins: [postcssRem],
      },
    },
  },
  chainWebpack(config) {
    // 移除 preload(预载) 插件
    config.plugins.delete("preload");
    // 移除 prefetch(预取) 插件
    config.plugins.delete("prefetch");

    // set svg-sprite-loader
    config.module.rule("svg").exclude.add(resolve("src/assets/icons")).end();
    config.module
      .rule("icons")
      .test(/\.svg$/)
      .include.add(resolve("src/assets/icons"))
      .end()
      .use("svg-sprite-loader")
      .loader("svg-sprite-loader")
      .options({
        symbolId: "icon-[name]",
      })
      .end();
    config.module
      .rule("md")
      .test(/\.md/)
      .use("vue-loader")
      .loader("vue-loader")
      .end()
      .use("vue-markdown-loader")
      .loader("vue-markdown-loader/lib/markdown-compiler")
      .options({
        raw: true,
      });
  },
};
